str_1 = 'suntao'


# print(len(str_1))  # 这是python内置的取长度的函数

# 我们来自己封装一个

def my_len(data):
    count = 0
    for i in data:
        count += 1
    return count


len_1 = my_len(str_1)


# print(len_1)

def say_hi():
    print('nihaoya')


# print(type(say_hi()))  # 函数无返回值 是 None 类似于 js 的 undefined


# 函数说明文档  在函数体中输入三个引号自动生成模板
def add(a, b):
    """
    这是一个用于两数相加的函数
    :param a: 参数1
    :param b: 参数2
    :return: 相加后的返回值
    """
    return a + b


# print(add(4, 55))

# 全局变量和局部变量   和 js 一样 也有作用域
# 可以通过 global 关键字在函数中修改全局变量
num = 100


def editNum():
    global num
    num = 200
    print(num)


# editNum()
# print(num)

# 函数案例  银行 ATM 机
money = 500
name = None
password = 00000


def main_menu():
    """
    主菜单函数
    :return: 用户选择的操作
    """
    print(f'{name}，你好，欢迎来到大地银行ATM，请选择操作：')
    print(f'查询余额 [输入1]')
    print(f'存款    [输入2]')
    print(f'取款    [输入3]')
    print(f'退出    [输入4]')
    return int(input('请输入您的选择：'))


def query_money():
    """
    查询存款函数
    :return:
    """
    print(f'{name},你好，您当前的余额剩余{money}元')
    n = int(input('输入0返回菜单：'))
    if not n:
        return n
    else:
        n = int(input('输入0返回菜单：'))


def save_money(m):
    global money
    money += m
    print(f'{name},你好，本次存款{m}元成功')
    print(f"你的当前余额为{money}元")
    n = int(input('输入0返回菜单：'))
    if not n:
        return n
    else:
        n = int(input('输入0返回菜单：'))


def desc_money(m):
    global money
    if (m > money):
        print('当前余额不足！')
    else:
        money -= m
        print(f'{name},你好，本次取款{m}元成功')
        print(f"你的当前余额为{money}元")
    n = int(input('输入0返回菜单：'))
    if not n:
        return n
    else:
        n = int(input('输入0返回菜单：'))


# 邀请用户输入用户名和密码 查看账户余额
def login_account():
    global name
    name = str(input('请输入用户名：'))
    pas = int(input('请输入密码：'))
    if pas != password:
        return '输入密码错误'


is_login = login_account()

# 用 not 取反 如果函数没有返回值的话说明密码正确 相反 终止程序运行
if not is_login:
    while True:
        menu_num = main_menu()
        print(menu_num)
        if menu_num == 1:
            n = query_money()
            if not n:
                continue
        elif menu_num == 2:
            mon = int(input('请输入存款金额：'))
            n = save_money(mon)
            if not n:
                continue
        elif menu_num == 3:
            mon = int(input('请输入取款金额：'))
            n = desc_money(mon)
            if not n:
                continue
        else:
            print('欢迎下次光临')
            break
else:
    print(is_login)
